﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tracy.DataModel;
using SharedLib;
using System.Diagnostics;
using TracyGUI.View.UIComponent;

namespace TracyGUI.View.EntryTabs
{
    interface IMediaFileTabPageView : ITabPageView, IHasEnhancedListView
    {
        void ClearListView();
        void LoadDataItemsToListView(List<MediaFile> dataItems, bool clearView = true);
        void UpdateDataItem(MediaFile dataItem);
        void RemoveDataItems(List<MediaFile> dataItems);
        void SetOpenWithMenu(List<string> displayNameList, List<ProcessStartInfo> appInfoList);

        event EventHandler<EnhancedEventArgs> MediaFileExecuting;
        event EventHandler<GenericEventArgs<MediaFile>> ContainingFolderOpening;
        event EventHandler<GenericEventArgs<MediaFile>> OpenWithMenuGenerating;
        event EventHandler<GenericEventArgs<List<MediaFile>>> MediaFilesChanging;
        event EventHandler<GenericEventArgs<List<MediaFile>>> MediaFilesRemoving;
    }
}
